// 对axios进行二次封装
import axios from 'axios'
import nProgress from 'nprogress'
import "nprogress/nprogress.css"
// 引入store
import store from '@/store'

// 利用axios对象方法create，去创建一个axios实例

const requests = axios.create({
    // 基础路径
    baseURL: '/api',
    // 请求超时时间
    timeout: 5000,
})
//请求拦截器
requests.interceptors.request.use((config) => {
    if (store.state.detail.uuid_token) {
        config.headers.userTempId = store.state.detail.uuid_token
    }
    if (store.state.user.token) {
        config.headers.token = store.state.user.token
    }
    // 进度条开始动
    nProgress.start()

    return config
})

//响应拦截器

requests.interceptors.response.use((res) => {
    //进度条结束
    nProgress.done()
    return res.data
}, (error) => {
    return Promise.reject(new Error('fail'))
})

export default requests